The present invention relates to a method and apparatus for transmitting data packets via a communication network such as an IP (Internet Protocol) network.
At present, the IP has a strong position in the field of data telecommunication. The IP will also have a great impact on third generation mobile networks, since IP applications will be available for mobile users. Third generation mobile telecommunication systems aim at providing end-users, apart from terminal and personal mobility, with enhanced services. Compared to second generation systems, enhancements that will cover features all the way between the end-users and the core network elements are required, i.e. from mobile terminals to radio access and fixed networks.
The existing GSM network is optimal for circuit-switched voice calls and therefore inefficient at setting up and carrying very short data bursts. Packet switching is more efficient at carrying bursty data, and mobile networks will employ packet switching right up to the end terminal if they are to cope with the expected demand for future data services. A packet-switched mobile network opens the way for a range of new applications. IP interconnectivity and point-to-multipoint (PTM) transfers become reality with GPRS (General Packet Radio Service), wherein applications currently restricted to fixed line connections will migrate to the mobile world.
However, at present, IP does not support efficiently the transport of short data packets like cellular speech samples. Short speech packets are something that is very common in mobile networks and an efficient transmission scheme is needed in the mobile backbone network where thousands of connections are transmitted between different nodes.
As an example, the IP version 6 header consists of 40 bytes and a User Datagram Protocol (UDP) adds further 8 bytes to the header info. Thus, if a speech sample consisting of only 10 bytes is transmitted using such an IP data packet, the overhead of the IP layer is enormous.
It is therefore an object of the present invention to provide a packet transmission method and apparatus, by means of which the transmission overhead can be reduced when short data packets are transmitted.
This object is achieved by a method for transmitting data packets via a communication network, comprising the steps of:
multiplexing a plurality of data packets of several connections to a variable length data packet;
providing each of the plurality of data packets with a header portion defining at least an identification information of the respective data packet; and
providing the variable length data packet with an information field indicating a common length of the plurality of data packets.
Additionally, the above object is achieved by an apparatus for transmitting data packets via a communication network, comprising:
multiplexing means for multiplexing a plurality of the data packets of several connections to a variable length data packet;
header generating means for adding a header portion to each of the plurality of data packets, the header portion defining at least an identification information of the respective data packet; and
providing means for providing the variable length data packet with an information field indicating a common length of the plurality of data packets.
Accordingly, since a plurality of data packets are multiplexed to a variable length data packet comprising an information field which indicates a common length of the plurality of data packets, the header portions of the data packets can be kept as small as possible, i.e. defining at least an identification information of the respective data packet. Thereby, a length information in the header portions of the data packets is not required if the data packets included in the variable length data packet have the same length, which is often the case, such that the overall overhead ratio can be decreased.
Thus, small speech data packets can be transmitted with a small overhead via an IP network.
Furthermore, different queues may be formed, each comprising data packets of one length, wherein the data packets of one of the queues are multiplexed to the variable length data packet.
Hence, by queuing data packets of one length in corresponding queues, the variable length data packets can be multiplexed by using data packets of one queue, such that variable length data packets comprising data packets of one length can be generated as long as enough packets are included in one of these queues. Thus, transmission efficiency and overhead can be further reduced, since data packets of one variable length data packet are available in the queues and the length of the variable length data packet can be optimized to the length corresponding to the respective queue.
Preferably, the queues are filled up until a predetermined maximum size has been reached or until the expiry of a predetermined delay time, before their data packets are multiplexed. Thereby, a reasonable maximum packet delay can be secured.
The header portions of the data packets may comprise a length field indicating the length of the respective data packet, in case data packets of different lengths are included in the variable length data packet.
Moreover, the header portion of the data packets may also define a sequence number of said data packet. Thereby, the respective data packets are not mixed up at a receiver of the variable length data packets.
An information field of the variable length data packets may define a common type of the data packets, said common type indicating the length of said data packets. Thus, the length of the data packets does not have to be explicitly defined in the information field, in case the type of the data packets unambiguously defines the length of the data packets.
Preferably, a predetermined value of the information field of the variable length data packet can be used to indicate that said data packets included in the variable length data packet have different lengths. Thus, the receiver may easily gather from the information field whether the received variable length data packet comprises data packets of one length or data packets of different lengths. The predetermined value can be 0, for example.
Furthermore, a predetermined value of the length field of the header portion of the data packets can be used to indicate that the data packet is the last data packet in the variable length data packet. Thereby, one large data packet can be multiplexed as the last data packet in the variable length data packet. The predetermined value of the length field may be 0, for example.
Preferably, speech data packets received from a cellular communication network may be used as the data packets, wherein the communication network may be an IP network. Thereby, transmission of speech and data can be harmonized in the IP network.